FROM node:20-slim

# 容器内根目录（对应项目根目录）
WORKDIR /app

# 1. 复制根目录的 package.json 和 package-lock.json（直接从上下文根目录复制）
COPY package*.json ./

# 2. 安装根目录公共依赖
RUN npm install

# 3. 复制根目录的 tsconfig.json（直接从上下文根目录复制）
COPY tsconfig.json ./

# 4. 复制子模块（micro-email）的代码到容器 /app/apps/micro-email
# 上下文是根目录，所以 apps/micro-email 是子模块路径
COPY apps/micro-user ./apps/micro-user

# 5. 进入子模块目录安装特有依赖
WORKDIR /app/apps/micro-user

RUN npm install

# 6. 回到根目录，暴露端口并启动
WORKDIR /app

EXPOSE 50051


CMD ["npm", "run", "start:dev:user"]